Convert camel case string to snake case stringΒΆ

Convert camel case string to snake case string.
def camel_to_snake(S):

    import re

    S1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', S)

    return re.sub('([a-z0-9])([A-Z])', r'\1_\2', S1).lower()

# test
print(camel_to_snake('PythonExercises'))

Output:

python_exercises